Data Structural Bootstrapping, Linear Path Compression, and Catenable Heap Ordered Double Ended Queues

نویسندگان

  • Adam L. Buchsbaum
  • Rajamani Sundar
  • Robert E. Tarjan
چکیده

A deque with heap order is a linear list of elements with real-valued keys which allows insertions and deletions of elements at both ends of the list. It also allows the ndmin (equivalently ndmax) operation, which returns the element of least (greatest) key, but it does not allow a general deletemin (deletemax) operation. Such a data structure is also called a mindeque (maxdeque). Whereas implementing mindeques in constant time per operation is a solved problem, catenating mindeques in sublogarithmic time has until now remained open. This paper provides an e cient implementation of catenable mindeques, yielding constant amortized time per operation. The important algorithmic technique employed is an idea which is best described as data structural bootstrapping: We abstract mindeques so that their elements represent other mindeques, e ecting catenation while preserving heap order. The e ciency of the resulting data structure depends upon the complexity of a special case of path compression which we prove requires linear time. An extended abstract of this paper will appear in the 33rd IEEE Foundations of Computer Science, 25-27 October, 1992. Supported by a Fannie and John Hertz Foundation fellowship, National Science Foundation Grant No. CCR-8920505, and the Center for Discrete Mathematics and Theoretical Computer Science (DIMACS) under NSF-STC88-09648. Also a liated with DIMACS, Rutgers University, Piscataway, NJ 08855. Supported by DIMACS under NSF-STC88-09648. Also a liated with NEC Research Institute, 4 Independence Way, Princeton, NJ 08540. Research at Princeton University partially supported by the National Science Foundation, Grant No. CCR-8920505, the O ce of Naval Research, Contract No. N00014-91-J-1463, and by DIMACS under NSF-STC88-09648.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Deap-A Double-Ended Heap to Implement Double-Ended Priority Queues

A priority queue is a data type where the element with the smallest key value can be found and deleted, and new elements can be inserted. It is also called a priority queue when the element with the largest key value is wanted, instead of the smallest. In some cases, it is interesting to find and delete both the smallest and the largest element, as well as to be able to insert new elements. A s...

متن کامل

An Efficient Construction Algorithm for a Class of Implicit Double-Ended Priority Queues

Priority queues and double-ended priority queues are fundamental data types in Computer Science, and various data structures have been proposed to implement them. In particular, diamond deques, interval heaps, min-max-pair heaps, and twin-heaps provide implicit structures for double-ended priority queues. Although these heap-like structures are essentially the same when they are presented in an...

متن کامل

Verifying Resource Bounds of Programs with Lazy Evaluation and Memoization

We present a new approach for specifying and verifying resource utilization of functional programs that use lazy evaluation and memoization. Our approach verifies asymptotically tight bounds of complex programs that rely on deep sharing and aliasing of lazy heap references, as well as algorithms that use memoization extensively. Our approach can also find counter-examples for incorrect specific...

متن کامل

Simple Confluently Persistent Catenable Lists

We consider the problem of maintaining persistent lists subject to concatenation and to insertions and deletions at both ends. Updates to a persistent data structure are nondestructive{each operation produces a new list incorporating the change while keeping intact the list or lists to which it applies. Although general techniques exist for making data structures persistent, these techniques fa...

متن کامل

Symmetric Min-Max Heap: A Simpler Data Structure for Double-Ended Priority Queue

Several data structures have been proposed to implement double-ended priority queue operations in O(log n) time, e.g., Min-Max heap [ 11, Deap [2], Diamond deque [3] and back-to-back heap [4]. In MinMax heaps, the even layers form a Min-heap and the odd layers form a Max-heap. Deap has separate Minheaps and Max-heaps that are built on the left and right subtrees, respectively. In Diamond deque,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992